struct S {
  a : f32;
};

fn ret_bool() -> bool { return bool(); }
fn ret_i32() -> i32 { return i32(); }
fn ret_u32() -> u32 { return u32(); }
fn ret_f32() -> f32 { return f32(); }
fn ret_v2i32() -> vec2<i32> { return vec2<i32>(); }
fn ret_v3u32() -> vec3<u32> { return vec3<u32>(); }
fn ret_v4f32() -> vec4<f32> { return vec4<f32>(); }
fn ret_m2x3() -> mat2x3<f32> { return mat2x3<f32>(); }
fn ret_arr() -> array<f32, 4> { return array<f32, 4>(); }
fn ret_struct() -> S { return S(); }

@stage(compute) @workgroup_size(1)
fn main() {
}
